package com.wz.utils.generic;

import java.util.ArrayList;
import java.util.List;

/**
 * 我们不能保证可以从 array 对象中读取到 Integer 类型的数据, 因为 array 可能是 List<Number> 类型的.
 * 我们不能保证可以从 array 对象中读取到 Number 类型的数据, 因为 array 可能是 List<Object> 类型的.
 * 唯一能够保证的是, 我们可以从 array 中获取到一个 Object 对象的实例.
 */
public class SuperTest {
    public static void main(String[] args) {
        // 在这里, Integer 可以认为是 Integer 的 "父类"
        List<? super Integer> array = new ArrayList<Integer>();
        // Number 是 Integer 的 父类
        List<? super Integer> array2 = new ArrayList<Number>();
        // Object 是 Integer 的 父类
        List<? super Integer> array3 = new ArrayList<Object>();
    }
}
